package com.cakebackoffice;

import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*;
import com.cakebackoffice.Model.OrderLine;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 * User: isen
 * Date: 27/02/12
 * Time: 18:04
 * To change this template use File | Settings | File Templates.
 */


public class ListViewOrderSheetAdapter extends ArrayAdapter<OrderLine> {

    int resource;

    public ListViewOrderSheetAdapter(Context context, int textViewResourceId, List<OrderLine> objects) {
        super(context, textViewResourceId, objects); // Loulou ! : T'avais oublié la moitié du constructeur :/
        this.resource = textViewResourceId;

    }


    // On override ArrayAdapter
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        LinearLayout orderLineView;

        // Récuperer l'orderLine courant
        OrderLine orderLine = getItem(position);

        // Inflate the catalog_detail_product
        if (convertView == null) {
            orderLineView = new LinearLayout(getContext());
            String inflater = Context.LAYOUT_INFLATER_SERVICE;
            LayoutInflater vi = (LayoutInflater) getContext().getSystemService(inflater);
            vi.inflate(resource, orderLineView, true);
        } else {
            orderLineView = (LinearLayout) convertView;
        }


        // Récupérer les View des orderLineView
        TextView nomProduit = (TextView) orderLineView.findViewById(R.id.nomproduit);
        TextView quantite = (TextView) orderLineView.findViewById(R.id.quantiteproduit);
        TextView totalHT = (TextView) orderLineView.findViewById(R.id.prixht);
        ImageView imageProduit = (ImageView) orderLineView.findViewById(R.id.productImage);
        Button boutonPlus = (Button) orderLineView.findViewById(R.id.more);
        Button boutonMoins = (Button) orderLineView.findViewById(R.id.less);

        //les tags des boutons
        boutonPlus.setTag(orderLine.getTag());
        boutonMoins.setTag(orderLine.getTag());
        // les rempliiiir !!

        //on check si c'est un produit ou un menu pour affichier son nom avec la bonne méthode
        try {
            if (orderLine.isProduct()) {
                nomProduit.setText(orderLine.getProductType().getName().toString());
            } else {
                nomProduit.setText(orderLine.getMenuType().getName().toString());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        quantite.setText(new Integer(orderLine.getQuantity()).toString());
        totalHT.setText(orderLine.getTotalHTtoString() + " €");

        //on crée le drawable
        Resources res = getContext().getResources();
        Drawable shape = res.getDrawable(R.drawable.defaut);  //en dur pour l'instant !!!! mouahaha
        imageProduit.setImageDrawable(shape);


        return (orderLineView);


    }

}
